/**
 * @Author: Bobby
 * @Date: 2022-02-15 13:14:17
 * @LastEditTime: 2022-03-01 10:18:32
 * @LastEditors: Bobby
 * @Description:
 * @FilePath: \wms-v2\src\ve\common\components\baseComs\form\uiSelect.js
 * @CIMC-V2
 */
import { exInput, exSwitch, exRequestData, exTextarea, exValidateSelect, exSizeSelect } from '@ve/common/components/extension'

export default {
  VERSION: '20220408',
  type: 'uiSelect',
  name: '下拉选项',
  icon: 'sort-desc',
  svg: 'xialaxuanze',
  //数据别名
  // dataName: 'uiSelect_data',
  //数据集合 表单 列表等等
  data: {
    requestData: {},
    formData: {},
  },
  extension: {
    model: exInput('Model', 'select_name'),
    label: exInput('标签', '下拉'),
    //rule: exSwitch('验证', false),
    size: exSizeSelect('尺寸', 'mini'),
    extendRule: exValidateSelect('', {}, []),
    api: exInput('Api接口', ''),
    method: exInput('Method', ''),
    getDataKey: exInput('获取数据Key', ''),
    requestData: exRequestData('参数', [
      { key: '#LIMIT#', value: 1 },
      { key: '#PAGE_SIZE#', value: 50 },
    ]),
    dontRequest: exSwitch('默认不请求', false),
    // ...exDivider(0),
    labelField: exInput('label字段', 'label'),
    valueField: exInput('value字段', 'value'),
    getOutKey: { ...exInput('关联字段', '', '表单关联带出的字段，多个以英文逗号隔开'), isSuperior: true },
    width: { ...exInput('宽度', 'auto', '填写数字:单位px,auto:自动宽度'), isSuperior: true },
    labelWidth: { ...exInput('label宽度', 'auto', '填写数字:单位px,auto:自动宽度'), isSuperior: true },
    tooltip: { ...exTextarea('弹窗提示', '', '', 3), isSuperior: true },
    optionConfig: {
      type: 'exSelectOptionConfig',
      name: '选项配置',
      // value: {
      //   source: 'url', //选项数据来源：url(来自接口请求) 与 create(来自配置创建)
      //   url: '', //如果是 url 模式，则获取此值请求数据
      //   // 如果是 create 模式，则读取此属性数据渲染
      //   optionList: [
      //     {
      //       value: '', //选项的值
      //       label: '', // 选项的标签
      //     },
      //   ],
      // },
      value: [],
    },
    isDefault: {
      type: 'exSelectDefault',
      name: '默认选项',
      value: { key: '', value: '' },
      isSuperior: true,
    },
    multiple: exSwitch('可多选', false),
    allowCreate: exSwitch('可输入', false),
    defaultValue: exInput('默认值', ''),
    disabled: exSwitch('禁用', false),
    hidden: exSwitch('隐藏', false),
    enterSelect: {
      type: 'exModuleSelect',
      name: '回车选中',
      value: [],
      hasCheckbox: false,
      treeData: '$getPageModules',
      isSuperior: true,
    },
    selectAll: { ...exSwitch('默认全选', false, '当可多选时，是否默认全选全部数据！'), isSuperior: true },
  },
  //交互
  interaction: [],
  //条件、逻辑指令
  logicInstruction: [],
  //数据源绑定
  dataSourceBind: {
    sourceId: {
      type: 'exGetDataSource',
      name: '组件ID',
      value: {
        type: 1,
        source: [],
      },
    },
    // dataKey: exInput('数据Key', ''),
    getDataKey: exInput('数据Key', '', '获取数据的 key 的集合，多个 key 用 “,” 分隔，如需获取全部数据则不填写'),
    hasParam: exSwitch('当参数用', false, '默认当数据使用,开启当参数使用'),
  },
}
